#ifndef __LISTENER_H__
#define __LISTENER_H__

#include <set>

class EventListener;
class Listener
{
public:
	typedef std::set<EventListener*> Listeners;

	virtual void capture(void) = 0;
	virtual void addListener(EventListener* event);
	virtual void removeListener(EventListener** event);

	Listener(void) {};
	virtual ~Listener(void);

protected:
	Listeners	_listeners;

};

#endif